﻿/*
  --============================================================================================
  --============================================================================================
  -- Fichier          :	IBuilt.cs
  -- Objet			  :	Interface d'objet voué à être affiché dans une grille de données (dans l'application CompositionChimique ou XX)
  -- Auteur			  :	S. Le Gouellec
  -- Date de création : 07/2014
  --                              :
  --                              :
  -- Notes spéciales		  :
  -- Historique			  :
  ----------------------------------------------------------------------------------------------
  -- |     Code    |  Vers. |   Date   | Auteur	|                  Description
  -- |  Dem/inc/pr |  	    |          |        |         
  -- -------------------------------------------------------------------------------------------
  -- |             |   1.0  | 07/2014  |  SLE	| Création
  -- |	           |	    |	       |        |
  --============================================================================================
  --============================================================================================
*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ModelEntities
{
    /// <summary>
    /// Interface exposant des méthodes pour des classes ayant été construit par un IBuilder
    /// </summary>
    public interface IBuilt
    {
        /// <summary>
        /// Initialise la classe en prenant en paramètre une liste d'objets
        /// </summary>
        /// <param name="listObjects">Liste d'objets servant à l'initialisation de l'instance</param>
        void Objects(List<object> listObjects);

        /// <summary>
        /// Retourne un objet représentant la transformation retour de cette instance
        /// </summary>
        /// <returns></returns>
        object TransformBack();

        /// <summary>
        /// Doit permettre de vérifier le bon format des données saisies par l'utilisateur
        /// </summary>
        /// <returns>Renvoi une chaine vide si la validation est OK, sinon renvoit le message d'erreur</returns>
        String VerifyDataEntry();
    }
}
